Information processing apparatus, controlling method of information processing apparatus, and storage medium with display control for displaying print setting depending on whether print cache data exist

ABSTRACT

An information processing apparatus is provided that includes a first determination unit configured to determine whether or not a print setting value specified in a print ticket exists in a database; a second determination unit configured to determine whether or not cache data exists if the first determination unit determines that the print setting value does not exist in the database; a display unit configured to display the print setting value based on the cache data if the second determination unit determines that the cache data exists, and display a print setting item of the print setting value in a particular state if the second determination unit determines that the cache data does not exist.

TECHNICAL FIELD

The invention relates to an information processing apparatus, acontrolling method of the information processing apparatus, and astorage medium.

BACKGROUND ART

A print setting UI (User Interface) of a V4 driver is formed by printsetting information (print ticket) configured by a user operation andprint settings list information that is a list of features held by thedriver (print capability). In the print setting UI of the V4 driver,there is a case that a plurality of different types of V4 driver issupported by one print setting UI. In this case, in order to display asuitable UI for each V4 driver, it is necessary to change the UIdisplayed by using model-specific information of the driver, including aprint capability. Patent Literature 1 discloses a method in which amodel-specific print setting UI is formed by using function informationacquired from a print server.

CITATION LIST Patent Literature

-   Patent Literature 1: Japanese Patent Laid-Open No. 2013-58151

If an information amount of the print capability is large, it takes timeto analyze, and thus, the print setting UI is created and displayed inadvance by only a relatively small amount of an information printedticket, and the operation is received after performing a syntax analysisof print capability in the background. For example, a color mode UIwhich is a controller for switching between color and monochrome isunnecessary because there is no option other than the monochrome in amonochrome device. In this case, on the print setting UI, it isnecessary to display the color mode UI in only a color device and todisable hiding and graying out in the monochrome device. However, adetermination of the color device and the monochrome device must bedetermined by the number of the options of the color mode function inthe print capability, and not be determined by only the print ticket.

SUMMARY OF INVENTION

The present invention provides an information processing apparatus thatcan display the print setting UI by only the print ticket even if it isa UI with an uncertain display form, in the case where the print settingUI is created and displayed from the print ticket (print settinginformation).

An information processing apparatus is provided that includes a firstdetermination unit configured to determine whether or not a printsetting value specified in a print ticket exists in a database; a seconddetermination unit configured to determine whether or not cache dataexists if the first determination unit determines that the print settingvalue does not exist in the database; a display unit configured todisplay the print setting value based on the cache data if the seconddetermination unit determines that the cache data exists, and display aprint setting item of the print setting value in a particular state ifthe second determination unit determines that the cache data does notexist.

According to the preset invention, an information processing apparatuscan be provided that can display the print setting UI by only the printticket even if it is a UI with an uncertain display form, in the casewhere the print setting UI (screen) is created and displayed from theprint ticket. Therefore, a formal print setting UI can be displayed fromthe beginning when displaying the UI again, the display completion ofthe UI is completed in a very short time, and thus, a stress-freeenvironment can be realized.

Further features of the invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating a system configuration.

FIG. 2 is a diagram illustrating a hardware configuration of a clientcomputer.

FIG. 3 is a diagram illustrating the configuration of an application anda driver.

FIG. 4 is a diagram illustrating the configuration of the applicationand the driver.

FIG. 5A is a diagram illustrating a screen transition of touch panelapplication.

FIG. 5B is a diagram illustrating a screen transition of touch panelapplication.

FIG. 5C is a diagram illustrating a screen transition of touch panelapplication.

FIG. 6A is a diagram illustrating a screen transition of touch panelapplication.

FIG. 6B is a diagram illustrating a screen transition of touch panelapplication.

FIG. 6C is a diagram illustrating a screen transition of touch panelapplication.

FIG. 7A is a diagram a screen of a touch panel print settingapplication.

FIG. 7B is a diagram a screen of a touch panel print settingapplication.

FIG. 8 is a flow chart of the touch panel print setting application.

FIG. 9 is a flow chart of the touch panel print setting application.

FIG. 10A is a flow chart illustrating provisional UI creationprocessing.

FIG. 10B is a flow chart illustrating provisional UI creationprocessing.

FIG. 11A is a flow chart illustrating provisional UI creationprocessing.

FIG. 11B is a flow chart illustrating provisional UI creationprocessing.

FIG. 12 is a flow chart illustrating acquisition processing of cachedata.

FIG. 13 is a flow chart illustrating background processing.

FIG. 14A is a diagram illustrating examples of a print capability andthe print ticket.

FIG. 14B is a diagram illustrating examples of a print capability andthe print ticket.

FIG. 15 is a diagram illustrating an example of the cache data.

DESCRIPTION OF EMBODIMENTS

Hereinafter, each embodiment will be described with reference toaccompanying drawings.

First Embodiment

A description will be given of an outline of a system configurationaccording to the present embodiment with reference to FIG. 1. The systemcomprises a client computer 101 that is an example of an informationprocessing apparatus, and a printer 102 that can receive and performprinting print data in a page description language (PDL) format. Theyare communicatively connected via a network 103 represented by a localarea network (LAN), and the network 103 is communicatively connected toan external network. Note that, the printer 102 may be a single-functionprinter having only a printing function, and may be a multifunctionprinter having the printing function, a scanning function, a copyingfunction, and the like.

FIG. 2 is a block diagram illustrating a hardware configuration of theclient computer 101 of FIG. 1. In the client computer 101, a centralprocessing unit (CPU) controls each device connected to system bus inaccordance with program stored in a random access memory (RAM 202). Notethat, the client computer 101 is assumed to comprise at least one CPU201. In addition, the CPU 201 performs the processing based on theprogram stored in the external memory 209 to thereby realize a softwareconfiguration of the client computer 101 as shown below in FIGS. 3 and 4and the processing of each step of flow chart as described below.

The RAM 202 functions as the main memory of the CPU201, a work area andthe like. Various programs such as a boot program, a basic input outputsystem (BIOS) and the like are written in a read only memory (ROM) 203.An operation input device interface (I/F) 204 is an interface forcontrolling an operation input device 205 such as a keyboard, a pointingdevice (mouse), touch UI (User Interface), and the like. A display I F206 controls the display on the screen of a display 207. An externalmemory I/F 208 controls access to an external memory 209 such as, forexample, a hard disk (HD), a Solid State Disk (SSD) and the like. Theexternal memory 209 stores various applications 212 corresponding toeach of an operating system program (OS) 210, a touch panel, anddesktop, a driver 211 including a printer driver, various types offiles, and the like. The external memory 209 functions as a readablestorage medium of the computer. A network I/F 213 is connected to theprinter 102 via the network 103, and performs communication controlprocessing with the printer 102.

A description will be given with reference to FIGS. 3 and 4 of aconfiguration of an application and a driver configured to operate inthe OS 210. In the present embodiment, the configuration is divided intoan application layer, which is directly operated by the user, and adriver/OS layer, which is controlled by the OS 210 in response to arequest from the application. Each application and module is stored inthe external memory 209, loaded into the RAM202 as needed, and executedby the CPU 201 on the client computer 101. A processing related to theprinting performed in the OS210 is divided into a print instructionperformed on the touch panel and the printing processing of thedriver/OS layer. Firstly, a description will be given of the softwareconfiguration in the print instruction performed on the touch panel.

Each touch panel application 3004 includes a basic print setting UI8500, which is a basic UI for printing. Furthermore, the touch panelapplication 3004 acquires print queue information 3302 in response to auser request from the OS 210, and displays the print setting UI 8500associated with the print queue information 3302. The print queueinformation 3302 is information for each print queue including aninstalled print queue name and the like. The print setting UI 8500 is asimple print setting UI that the OS 210 creates and displays based on aprint capability 3202 and a print ticket 3102. The print ticket (printsetting information) 3102 is print setting information that has beenset. The print capability 3202 is a list information of the printsetting that has been set by the driver 211. Note that, the printcapability 3202 and the print ticket 3102 are described in a format thatmanages information in which items are separated with a tag called XML(Extensive Markup Language).

A touch panel print detailed setting application 3006 is activated inresponse to the user request from the basic print setting UI 8500 andfunctions as a display control unit. Furthermore, the touch panel printdetailed setting application 3006 is invoked as a function capable ofperforming a detailed print setting if the touch panel print detailedsetting application 3006 is invoked and activated when anotherapplication performs the printing. Note that the touch panel printdetailed setting application 3006 is invoked as a tile applicationfunction if the touch panel print detailed setting application 3006 isinvoked by selecting the tile on a start screen by the user. In thepresent embodiment, the touch panel print detailed setting application3006 is invoked as the function capable of performing the detailed printsetting, and the display of the list of the function of the variousdrivers 211 and the change of the detailed print setting are performedby the touch panel application 3004. The touch panel print detailedsetting application 3006 can input/output local data to a user propertybag 3012, an application data area 3030, and a queue property bag 3013.In addition, each of the touch panel print detailed setting application3006 and the touch panel application 3004 includes local versioninformation therein.

A driver property bag 3020 is a storage area in which the informationfor each printer driver, including the version information of theprinter driver. A user property bag 3012 is a storage area of the touchpanel print detailed setting application 3006 and stores the settinginformation of the user in the print settings and the like. Also, anapplication data area 3030 is the storage area of the touch panel printdetailed setting application 3006 and manages the information of thetouch panel print detailed setting application 3006 and the like. Aqueue property bag 3013 is an area for storing the device settinginformation including the setting information set by anadministrator ofthe OS 210 and finisher information for stapling.

The touch panel print detailed setting application 3006 requests the OS210 for a print ticket 3102 and a print capability 3202. A configurationof the print capability 3202 and the print ticket 3102 will be describedlater. The touch panel print detailed setting application 3006 createsthe UI based on the print capability 3202, the print ticket 3102, and aterm database 30064, and receives the user operation. The term database30064 is a database in which the term displayed on the touch panel printdetailed setting application 3006 is registered.

After the reception completion, the touch panel print detailed settingapplication 3006 establishes the print setting and transmits the printticket 3102, which is the established print setting, to the OS 210. Thebasic print setting UI 8500 receives a print event due to a useroperation and transmits the print ticket 3102 and a XPS (XML PaperSpecification) file 3402 to be printed to a merge module 3018. Notethat, the XPS file is a document file described in the XML format.

Next, a description will be given of a software component in the printprocessing in the driver/OS layer. In the print processing, theprocessing for receiving the XPS file 3402 and the print ticket 3102from the touch panel application 3004, generating the PDL 3600, andtransmitting the PDL 3600 to the printer 102 is performed. The mergemodule 3018 that receives the print ticket 3102 and the XPS file 3402from the touch panel application 3004 combines the print ticket 3102with the XPS file 3402 to generate the XPS file 3402 to be printed. Themerge module 3018 performs the combination by adding the print ticket3102, which is the print setting to the XPS file 3402. The merge module3018 transmits the XPS file 3402 to a print spooler 3008.

The print spooler 3008 resolves a conflict by transmitting the XPS file3402 to a print configuration 3007. The print spooler 3008 acquires theXPS file 3402 on which the processing for dissolving the conflict hasbeen performed from the print configuration 3007. The print spooler 3008transmits the XPS file 3402 to a filter pipeline manager 3009. Thefilter pipeline manager 3009 is a module that undertakes invoking themodule called “filter”, and generates the PDL 3600 from the XPS file3402 via the filter. The configuration of the filter to be invoked bythe filter pipeline manager 3009 is described in the XML format, and therequired filter is invoked in accordance with the description. Note thatin the present embodiment, as one example, a renderer filter 3010 isinvoked. The print spooler 3008 acquires the PDL 3600 from the filterpipeline manager 3009, and the print processing is performed bytransmitting the PDL 3600 to the printer 102.

Next, a description will be given of a basic flow of the printing fromthe touch panel UI and the touch panel UI operated in OS 210 withreference to FIGS. 5A to 5C and 6A to 6C. The touch panel application3004 has a UI design that emphasizes the operation of the touch display.The touch panel application 3004 is configured with a large button so asto be easily operated with the touch of a finger, a pen, and the like.Although the touch panel application 3004 accepts the operation input ofthe mouse or the keyboard, a description will be given assuming that thetouch operation is performed.

FIG. 5A is a diagram illustrating a start screen 8000, which is an OSscreen for activating the touch panel application 3004. The start screen8000 is displayed on the entire surface of the touch display. The touchpanel application 3004 is displayed on the start screen 8000 in theformat of a tile 8001. If the user taps the tile 8001, the touch panelapplication 3004 corresponding to the tapped tile 8001 is displayed onthe entire surface of the touch display.

FIG. 5B is a diagram illustrating a display example of a WEB browser8100. The WEB browser 8100 is displayed on the entire surface of thetouch display, and no other application is displayed. If the printing isperformed on the touch panel application 3004, the right end on a touchdisplay 8101 is touched, the finger is slid to the left, and a menuscreen, which is a charm 8200 of FIG. 5C, is opened to thereby begin theprinting. There is a plurality of options in the charm 8200, a devicemenu button 8201, which is the list of the menu associated with thedevice among the options, is tapped to thereby open a device menu 8300.

FIG. 6A is a diagram illustrating an example of the device menu 8300. Inthe present embodiment, there is the plurality of options such as areproduction, the printing, and the displaying in the device menu, and aprinting 8301 is tapped among the options to thereby display a printqueue selection menu 8400 for selecting a print queue of a print outputdestination shown in FIG. 6B. Candidates for the print outputdestination are listed in the print queue selection menu 8400. If a“printer 01” 8401, which is one of the candidates of the print outputdestination, is tapped, the basic print setting UI 8500 provided by theOS 210 shown in FIG. 6C is displayed. Basic print setting information,such as the number of copies and color mode, can be set by the basicprint setting UI 8500. If the basic print setting UI 8500 is depressed,the touch panel print detailed setting application 3006 is activated andthe user can perform more detailed settings that are not in the basicsettings. This will be described in detail below. After completing thesetting, the PDL 3600 is generated by the user tapping a print button8502, and the printing is performed.

Next, a description will be given of an outline of the touch panel printdetailed setting application 3006 with reference to FIGS. 7A and 7B. Thetouch panel print detailed setting application 3006 that is the subjectof the present embodiment includes a top page screen shown FIG. 7A and afull-function setting screen shown in FIG. 7B. The top page screen is ascreen including a basic function of the driver, and the full-functionsetting screen is a screen including a more detailed setting function.These two print setting screens can be moved by sliding the finger tothe left and right on the screen. The full-function setting screen isconfigured of a plurality of sheets by the control called a flip view.In the flip view, a page can be transition to an adjacent page by theuser sliding the finger to the left and right. Furthermore, a page dot9002 is displayed over the entire lower region of the top page screenand the full-function setting screen in the touch panel print detailedsetting application 3006. The page dot 9002 is displayed by the numberof pages, and the page number is displayed on each page dot 9002. Theuser taps the page dot 9002, and it is thereby possible to transition tothe sheet the corresponding page number at one time.

FIG. 7A illustrates a color mode UI 9003 for setting either color ormonochrome for the color mode. A double-side function UI 9004 is acontrol UI for selecting either a double-side or single-side for thedouble-side function.

In the present embodiment, a provisional term is displayed that is usedwhen the term of the corresponding sheet is not stored in a termdatabase 30064. An input sheet size UI 9006 is the control UI forselecting an input sheet size. In the present embodiment, an A4 sheet isselected. A staple UI 9007 is a UI indicating that there is a staplefunction.

A button 9001 is a back button, and is tapped when the user establishesthe print setting and ends the touch panel print detailed settingapplication 3006. FIG. 7B illustrates an output method 9011, which is anitem capable of setting the option such as secure print, as one example.In the present embodiment, “the printing” indicating the normal printingis set.

Next, a description will be given of a basic flow for activating thetouch panel print detailed setting application 3006 by using flow chartsin FIGS. 8 and 9. Note that, unless otherwise specified, a subject ofthe flow chart is the touch panel print detailed setting application3006. Furthermore, each sub-process will be described below withreference to FIGS. 10A to 13.

Firstly, the touch panel print detailed setting application 3006 isloaded from the external memory 209 to the RAM 202 in response to therequest of the other system and the user and performed in the CPU 201,and then the processing is started (step S6001). Next, the touch panelprint detailed setting application 3006 reads the print ticket 3102(step S6002).

Next, it is determined whether or not the setting of a color modefunction of the print ticket 3102 is set to monochrome (step S6003).Here, the color mode function is the function for switching betweencolor printing and monochrome printing. If the device is a device thatcan perform color printing (a color machine), the device can switchbetween color printing and monochrome printing, and if the device is adevice that performs only monochrome printing (a monochrome machine),monochrome printing is fixed. Next, if the color is set in the colormode function of the print ticket 3102 (No), the color mode UI 9003 forchanging the color mode is created (step S6005). That is, it isdetermined that there are two or more options of color and monochrome,and the color mode UI 9003 is created. In contrast, if the monochrome isset in the color mode function of the print ticket 3102 (Yes), colormode UI provisional creation processing is performed because it cannotbe determined whether the set print queue is the color machine or themonochrome machine.

Next, the setting of the double-side function of the print ticket 3102is confirmed (step S6006). That is, it is determined whether or not thesetting of the double-side function of the print ticket 3102 is asingle-side setting. In this context, a double-side function is afunction for switching between double-side printing and single-sideprinting. The device that can perform double-side printing (adouble-side machine) can switch between double-side printing andsingle-side printing, and the device that can perform only thesingle-side printing (a single-side machine) is fixed to the single-sideprinting.

If the double-side is set in the double-side function of the printticket 3102 (No), it is determined that there are two or more options ofthe double-side and the single-side and a double-side function UI 9004is created (step S6007). In contrast, the single-side is set in thedouble-side function of the print ticket 3102 (Yes), it cannot bedetermined whether it is the single-side machine or the double-sidemachine. If it is the single-side machine, the double-side function isnot necessary because there is only one option, and if it is thedouble-side machine, the double-side function UI 9004 is necessarybecause there are two or more options. Thus, if the single-side is set,a double-side function provisional UI creation processing is performed(step S6008).

Next, it is determined whether or not the term for the input sheet sizeand the output sheet size, which are set in the print ticket 3102, isstored in the term database 30064 (step S6009). If the term for thesheet size set in the print ticket 3102 is not stored in the termdatabase 30064 (Yes), a sheet name provisional creation processing isperformed (step S6011). In contrast, if the term for the sheet size setin the print ticket 3102 is stored in the term database 30064 (No), theterm corresponding to the sheet is acquired and displayed on an inputsheet size UI 9006 and an output sheet size UI 9005 (step S6010).

Next, it is determined whether or not stapling is set in in the printticket 3102 (step S6012). If stapling is set (No), a stapling UI 9007 iscreated (step S6013). In contrast, if stapling is not set (Yes), astapling provisional UI creation processing is created (step S6014).

Next, the top page shown in FIGS. 5A to 5C is displayed (step S6015).After displaying the top page, it is determined whether or not thecreation of the cache data is performed in the background (step S6016).Here, the cache data is information about the print capability 3202stored in the application data area 3030 functioning as a storing unitif the touch panel print detailed setting application 3006 has beenactivated. Note that the creation of the cache data will be describedbelow in FIGS. 12 and 13.

If the cache data is created (Yes), it waits until the backgroundprocessing is completed (step S6017). Note that, the backgroundprocessing will be described below in FIGS. 10A, 10B, 11A, and 11B. Ifthe cache data is not created (No), or after waiting until thebackground processing is completed, it is determined whether or not thecache data is presented in the application data area 3030 (step S6018).If the cache data is not presented in the application data area 3030(No), the cache data is created so as to refer to the cache on or afterstartup (step S6019). If the cache data is presented in the applicationdata area 3030 (Yes), the cache data is created and then the processingends.

A description will be given of the sub-processing of the flow chart ofFIGS. 8 and 9 with reference to the flow chart of FIGS. 10A to 13. Notethat unless otherwise specified, the subject of the flow chart is thetouch panel print detailed setting application 3006. The touch panelprint detailed setting application 3006 is loaded from the externalmemory 209 to the RAM 202 in response to the request of the other systemand the user and performed in the CPU 201.

A description will be given of a color mode provisional UI generationprocessing with reference to the flow chart of FIG. 10A. The color modeprovisional UI generation processing is started if the monochrome is setin the print ticket 3102 at the startup of the touch panel printdetailed setting application 3006 (step S7001). Next, the acquisition ofthe cache data is performed and a color mode cache 10004 is acquired(step S7002). Next, it is determined whether or not the cache data canbe acquired (step S7003).

If it fails to acquire the cache data (No), the color mode UI 9003 iscreated as the provisional UI and the processing ends (step S7005). Incontrast, if the acquisition of cache data is successful (Yes), it isdetermined whether or not there are two or more options of the colormode function of the cache data (step S7004). If there are two or moreoptions (Yes), the color mode UI 9003 is created and the processing ends(step S7005). In contrast, there is only one option, that is, there arenot two or more options (No), the processing ends without displaying thecolor mode UI 9003.

Next, a description will be given of a double-side provisional UIgeneration processing with reference to the flow chart of FIG. 10B. Thedouble-side provisional UI generation processing is started if thesingle-side is set in the double-side function of the print ticket 3102at startup (step S7102). Next, the acquisition of the cache data isperformed and a double-side function cache 10005 is acquired (stepS7103). Then, it is determined whether or not the cache data can beacquired (step S7104). If the acquisition of the cache data fails (No),the double-side function UI 9004 is displayed as the provisional UI(step S7105). In contrast, if the acquisition of the cache data issuccessful (Yes), it is determined whether or not there are two or moreoptions for the double-side function of the cache data (step S7105). Ifthere are two or more options (Yes), the double-side function UI 9004 iscreated and the processing ends (step S7106). In contrast, if there isonly one option, that is, there are not two or more options (No), theprocessing ends without displaying the double-side provisional UI.

Next, a description will be given of the sheet name provisional UIcreation processing with reference to FIG. 11A. The sheet nameprovisional UI creation processing is started if the sheet name of theinput sheet size and the output sheet size of the print ticket 3102 isnot stored in the term database 30064 at startup (step S7201). Firstly,the acquisition of the cache data is performed, and a display name cache10006 is acquired so that an Option name of the sheet thereof isacquired as a Key (step S7203). Next, it is determined whether or notthe acquisition of the cache data can be performed (step S7204). If theacquisition of the cache data (No) fails, a provisional term registeredin the term database 30064 is displayed on the input sheet size UI 9006and the output sheet size UI 9005, and then the processing ends (stepS7205). In contrast, if the acquisition of the cache data is successful(Yes), a Display Name within the cache data corresponding to the sheetis acquired and displayed (step S7206). Then, the processing ends.

Next, a description will be given of the stapling provisional UIcreation processing with reference to FIG. 11B. Firstly, the processingis started (step S7301), and then the stapling information is initiallyread from the queue property bag 3013 (step S732). Next, it isdetermined whether or not the stapling function is set to ON (stepS7303). If the stapling function is set to ON (Yes), a stapling UI 9007is displayed and then the processing ends (step S7304). In contrast, ifthe stapling function is not set to ON (No), the processing ends withoutdisplaying the staple UI 9007.

Next, a description will be given of the acquisition of the cache datawith reference to FIG. 12. Firstly, the processing is started (stepS8001), and it is determined whether or not the cache data is present inthe application data area 3030 (step S8002). If the cache data is notpresent (No), the background processing is performed and then theprocessing ends (step S8006). If the cache data is present (Yes), thecache data is acquired (step S8003).

Next, the driver version 10007 of the cache data (step S8004) isconfirmed. That is, it is determined whether or not the driver version10007 of the cache data is the same as the version of the printerdriver. Here, the driver version 10007 is the version information of theprinter driver when the cache data is created, and is stored togetherwith the cache data. If the version of the printer driver is differentfrom the driver version 10007 (No), the cache data is discarded (stepS8005), the background processing is performed, and then the processingends (step S8006).

In contrast, if the version of the printer driver is the same as thedriver version 10007 (Yes), the application version 1008 of the cachedata (step S8007) is confirmed. That is, it is determined whether or notthe application version 1008 of the cache data is the same as thecurrent version of the touch panel print detailed setting application3006. Here, the application version 1008 is the version of the touchpanel print detailed setting application 3006 when the cache data iscreated, and stores the version thereof together with the cache data. Ifthe application version 1008 of the cache data is different from thecurrent version of the touch panel print detailed setting application3006 (No), the cache data is discarded (step S8005), the backgroundprocessing is performed, and then the processing ends (step S8006). Ifthe application version 1008 is the same as the current version of thetouch panel print detailed setting application 3006 (Yes), theprocessing ends. Note that the discarding of the cache data may be thediscarding of a part of the cache data or the discarding of all of thecache data.

Next, a description will be given of the background processing withreference to FIG. 13. Firstly, the processing is started (step S8101),and the cache data is created (step S8102). More specifically, the cachedata is created from the version information of the driver of the printcapability 3202 and the driver property bag 3020 and the versioninformation of the touch panel print detailed setting application 3006.Note that the cache data created in step S8102 may be all or a part ofthe information about the print capability 3202. In the presentembodiment, the driver version 10007 and the application version 1008previously described are stored together with the cache data. It may becached as different information by processing based on the printcapability 3202.

Furthermore, if the driver property bag 302 holds information (a GPDfile) for resolving a combination of invalid print settings and thelike, the cache may be created by parsing the information relating tothe print settings of the GPD file. In addition, Display Name of theprint capability 3202 may be managed by creating the cache data for eachnational language because the Display Name is different for eachlanguage, such as English and Japanese. Note that the location in whichthe cache data is managed may be the application data area 3030.

After creating the cache data, it is determined whether or not there aretwo or more options of the color mode of the print capability 3202 (stepS8103). If there is one option (No), that is, there are not two or moreoptions, the color mode UI 9003 is hidden because it is not necessary todisplay the color mode UI 9003 (step S8104), and then the processingproceeds to step S8105. In contrast, if there are two or more options(Yes), the color mode UI 9003 remains displayed, and then the processingproceeds to step S8105.

Next, it is determined whether or not there are two or more options ofthe double-side function of the print capability 3202 (step S8105). Ifthere is one option (No), that is, there are not two or more options,the double-side function UI 9004 is hidden (step S8106), and then theprocessing proceeds to step S8107. In contrast, if there are two or moreoptions (Yes), the double-side function UI 9004 remains displayed, andthen the processing proceeds to step S8107.

Next, it is determined whether or not the term of the input sheet sizeand the output sheet size, which are set in the print ticket 3102, isstored in in the term database 30064 (step S8107). If the term is storedin in the term database 30064 (Yes), the processing ends without doinganything. In contrast, if the term is not stored in in the term database30064 (No), the Display Name of the print capability 3202 is displayedin the term of the sheet size corresponding to the input sheet size UI9006 and the output sheet size UI 9005 (step S8108).

Note that in the present embodiment, if it is not uniquely determinedwhether there is one option or two or more options of the color mode UI9003 and the double-side function UI 9004 when the top page is createdby the print ticket 3102, the provisional UI is displayed. Then, ifthere is one option after creating the cache data, the provisional UI ishidden. That is, if the displayed provisional UI matches the UI to bedisplayed after creating the cache data, the provisional UI remainsdisplayed, otherwise, if the displayed provisional UI is different fromthe UI to be displayed, the provisional UI is hidden. Furthermore, if itis not determined whether there is one option or two or more options ofthe color mode UI 9003 and the double-side function UI 9004 when the toppage is created by the print ticket 3102, the provisional UI may behidden, and then may be displayed after creating the cache data.

Next, a description will be given of the print capability 3202 and theprint ticket 3102 with reference to FIGS. 14A and 14B. FIG. 14A is adiagram illustrating one example of the print capability 3202. The printcapability 3202 is the list of the items of the function held by theprinter driver, and is described in the XML. The list of the functionsis described with the tag called a Feature 12001. In the presentembodiment, “Page Media Size” is described as an example of the sheetsize. The list of the items of each function is described with a tagcalled an Option 12002. In the present embodiment, “Letter”, which isone of the sheet size, is described as an example of the Option 12002.One or more Feature 12001 and the Option 12002 are presented,respectively. A Display Name 12005, which is a term for easilydisplaying the Feature 12001 and the Option 12002, is not presented inthe print ticket, but is presented in only the print capability 3202.Also, the content of the Display Name is changed to the termcorresponding to each language according to the language set in the OSsuch as English or Japanese. In the present embodiment, the “Displayname” of the Option 12002 is displayed.

FIG. 14B is a diagram illustrating one example of the print ticket 3102.The print ticket 3102 is the list of the selection items of the printsettings and is described in the XML. The function and the item aredescribed with the tag of a Feature 12003 and an Option 12004, as wellas the print capability 3202. In the present embodiment, “DocumentDuplex”, meaning the double-side function, is described as an example ofthe Feature 12003. Also, “One Side” is described, meaning thesingle-side function, which is the option, as an example of the Feature12003.

Next, with reference to FIG. 15, a description will be given of theconfiguration of the cache data, which has an important position in thepresent embodiment. In the present embodiment, the cache data has thefour elements of Locality, Container, Key, and Value. In the presentembodiment, the processing proceeds by referring to four elements whenthe cache information is acquired in the above processing.

The Locality is the setting for determining the storage location of thecache information, and has three settings of Temporary, Local, andRoaming. The Temporary is a setting for temporary storing, is stored inthe local PC, and deletes the information stored by the OS at any time.The information for the Local continues to be stored in the local PC.The Roaming replicates the information stored in the plurality ofdevices connected by the network 103. In this regard, the devices to beshared are limited when the determination performed on the network 103,which are accounts on the plurality of devices, are the same as eachother using a personal authentication provided by Microsoft.Furthermore, the information is not deleted by the OS at any time. Notethat in the present embodiment, Local 10000 is displayed on the Localityas an example.

Next, a description will be given of the Container. The Container is anaggregate of the Key and the Value which are managed for each group ofdata. The plurality of the Keys and the Values can be registered in oneContainer. Furthermore, the plurality of the Containers can be held atone Locality. Note that in the present embodiment, the Container of aPrint 01 (10001) is displayed on the Container as an example.

The Key and Value are the elements indicating a storage destination andthe stored information in the Container. The Key and Value arein aone-to-one relationship, and the information of the Value can beacquired by searching with the Key. Furthermore, the value of the Valueis the information acquired when the cache is acquired. In the presentembodiment, a Print Capabilities 10002 is displayed on the Key and aPrint Capabilities 10003 is displayed on the Value, as an example. AColor 10004 is displayed as the color mode cache of the Value fordetermining whether it is the color machine or the monochrome machine.Furthermore, a Duplex 10005 is displayed as the double-side functioncache of the Value for determining the double-side function. A SecondLetter 10006 is displayed as a display name cache of the Value of theDisplay Name used when the sheet name is unknown. Note that the displaycache sets the Display Name to the Value in which the name of the Optionis set to the Key.

Furthermore, in the present embodiment, 5.0.0 is displayed as the driverversion 10007 as an example. Note that, the driver version 10007 is theversion information of the printer driver when the cache is created. Inaddition, in the present embodiment, 2.0.0 is displayed as theapplication version 10008 as an example. The application version 10008is the version information of the touch panel print detailed settingapplication 3006 when the cache is created.

As described the above, according to the present embodiment, even if itis the UI with an uncertain display form by only the print ticket 3102,the UI can be displayed at a high speed, and a formal UI can bedisplayed during operation. Furthermore, the formal UI can be displayedfrom the beginning when activating again.

OTHER EMBODIMENTS

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2015-230044, filed Nov. 25, 2015 which is hereby incorporated byreference wherein in its entirety.

1-9. (canceled)
 10. An information processing apparatus comprising: atleast one memory storing instructions; and at least one processorconfigured to execute operations based on the stored instructions, theoperations including: acquiring a print ticket having information ofcurrently set print setting and a print capability having information ofprint setting candidates that can be set; causing a display device todisplay a print setting screen generated based on the information in theprint ticket; and updating the displayed print setting screen based onthe information in the print capability.
 11. The information processingapparatus according to claim 10, wherein the print ticket includesinformation of a currently set output sheet size, and the printcapability includes information of a sheet name corresponding to theoutput sheet size.
 12. The information processing apparatus according toclaim 11, wherein the sheet name is not included on the print settingscreen that has not been updated, and the sheet name is included on theprint setting screen that has been updated.
 13. The informationprocessing apparatus according to claim 12, wherein in the print settingscreen that has not been updated, provisional information is included ina display item of the sheet name.
 14. The information processingapparatus according to claim 10, wherein the print ticket has theinformation of the currently set print setting among the print settingcandidates.
 15. The information processing apparatus according to claim14, wherein the operations further including: registering a sheet namecorresponding to an output sheet size in a database based on theinformation of the acquired print capability.
 16. An informationprocessing apparatus comprising: at least one memory storinginstructions; and at least one processor configured to executeoperations based on the stored instructions, the operations including:acquiring first data having information of currently set sheet size andsecond data having information of a sheet name corresponding to thesheet size; causing a display device to display a print setting screengenerated based on the information in the first data; and updating thedisplayed print setting screen based on the information in the seconddata; wherein the sheet name is included on the print setting screenthat has been updated, and the sheet name is not included on the printsetting screen that has not been updated.
 17. An information processingapparatus comprising: at least one memory storing instructions; and atleast one processor configured to execute operations based on the storedinstructions, the operations including: acquiring a print ticket havinginformation of currently set output sheet size; storing a sheet namecorresponding to the output sheet size before the print ticket isacquired by the acquiring; and causing a display device to display aprint setting screen including the sheet name, the print setting screengenerated based on the information in the print ticket and the storedinformation by the storing.
 18. The information processing apparatusaccording to claim 17, wherein in the acquiring, further acquiring aprint capability having information of print setting candidates that canbe set, together with the print ticket; wherein the print setting screenis generated without being based on the acquired print capability.
 19. Amethod of controlling an information processing apparatus, the methodcomprising: acquiring first data having information of currently setsheet size and second data having information of a sheet namecorresponding to the sheet size; causing a display device to display aprint setting screen generated based on the information in the firstdata; and updating the displayed print setting screen based on theinformation in the second data; wherein the sheet name is included onthe print setting screen that has been updated, and the sheet name isnot included on the print setting screen that has not been updated.